home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Almathera Ten Pack 3: CDPD 3
/
Almathera Ten on Ten - Disc 3: CDPD3.iso
/
scope
/
051-075
/
scopedisk51
/
fastdisk
/
fastdisk.doc
< prev
next >
Wrap
Text File
|
1995-03-18
|
7KB
|
176 lines
Fast Disk V1.5
For AMIGA500/1000/2000
Written in Aztec C - V3.4a
Written 1987 by:
Torsten Stolpmann
Wilhelm-Raabe Strasse. 26
6750 Kaiserslautern
English Translation Provided by Stormin' Norman and Mark Dorn
What is FastDisk?
FastDisk is a Program that optimizes the at times chaotic disk structur of an
Amiga Disk.
Everbody knows how long it can take, until a long directory is read into
memory. Fast Disk accelerates this process between 3 and 5 times.
Everybody knows the noise the drive makes when trying to read the workbenck
icons.
FastDisk reduces the head movement to a minimun.
FastDisk also accelerates the validation time and the bootprocess.
FastDisk also accelerates the time of loading a program upto 50%.
What does Fast Disk do?
FastDisk the above by copying the disk by sectors, but the physical position
on the destination disk are going to be changed. That is all!
The destination disk is still a regular AmigaDOs disk, so there are
NO problems with compatibility.
How does FastDisk work?
To understand how FastDisk works, you have to understand a little on how
AmigaDos operates on a regular disk. More about this, but not sufficient,
information can be found in the AMiga Dos manual.
Here just the most important information.
The 1760 blocks (512Bytes each) are divided into the following kriteria!
1. Bootsector
2. Rootblock
3. Directory-blocks
4. Fileheader-blocks
5. Fileextension-blocks
6. Datablocks
BootSectors are always on sector 0 and 1. These are on every AmigaDos disk
and are read while booting up the system.(This is only if the disk is
bootable) Then there will be a program executed. FastDIsk cpies these tracks
without any changes.
The Rootblock (Sector 880) holds the diskname,creationdate,etc.. And the Hash
chart with 72 entries with pointers for all files/direcotries that are
located on the Root Directory. These entries are sorted by the
Hash-Algorithmus.The file/directory name is used for this. If it as a
Directory name, then the pointer points to the Directoryblock, which is
etup similar as the rootblock.
If it is a File entry then the pointer points to a fileheaderblock.
Not all entries in the chart must be occupied. That is why a pointer of "0"
is interpreted as blank entry.
It is possible that there is more then one entry occupy the same
place on the Hash chart. These collisions are solved in a way that the
needed headerblocks are chained in a linear list by a certain pointer.
The Fileheaderblocks again have another chart with also 72 entries
with pointers to Datablocks that belong to the certain file. If a file needs
more then 72 entries, a chain of Fileexstansionblocks is constructed. These
again can have 72 entries.
Also is it important to know that the Amiga Disk I/O is track
Oriented. That means if the head starts to read a track, it reads all the
sectors of this Track automatically and saves in ram until it read the whole
track, and the read/write head leaves the track completely. This is a
advantage if the physikal Positioning of the blocks on the disk is done.
These are the possibilities to optimize the diskstructure.
1. The physikal order of the Files/Directories on the disk is written in
the same order of the Hash chart. Because the DIR command go along the Hash
chart the listing of directories is going to be accelerated. THe Validation
time is shortened as well!
2. To place fileheaderblocks there are always two possibilities.
A) you group all the headerblocks near the RootBlock(Which accelerates the
reading or directories). Or you place all the Datablocks right behing the
headerblocks. ( THe headerblocks are now all over the disk, but loading
of files is going to be accelerated.
For Directoryheader there are similar possibilities. For fast directories
it is better to group inside the Fileheaderblocks.
For Faster loading of files it is better to place Directoryheader
inside the Roottrack. Usually there is enough room to place all the
directoryheaders there.
As you see, there are advantages and disadvantages to both mehtods.
Fo that reason a little of both methods is supported by the program,
depending on what you want, fast directories (Datadisks) or to load a program
faster (Workbench disks).
Amiga Dos works in a stradegy that combines both disadvantages
described above. It tries to place the Headerblock and the first Datablock
of the file behind each other near the Rootblock. This accelerates the
loading of small files (System-configuration, .info files).
FastDisk places the following files right behind hte headerblock:
Startup-sequence
System-Configuration
All files with the .info ending
When doesn't FastDisk work?
FastDisk requires 2 disk drives, and alot of chip memory. When copying it
reads all Header and Directoryblocks to Ram. If there isn't sufficient room
FastDisk will fail!
Otherwise you should give FastDisk as much ram as possible. FastDisk tries
to save sectors that are needed later to save in the Cache. That means the
more ram you give fastdisk, the faster the program will run!
FastDisk assumes that you always use a standart Amigados disk. There
shoudn't be any sections that are not controlled by the Amiga dos. If there
are such sectors, FastDisk will not copy, excluding the bootsector.
FastDisk can't copy a disk whos disk structure is corupt.
Fastdisk notices these errors and suggests to run DiskDoctor.
How to run FastDisk!
You can use FastDisk from CLI as well as from Workbench. If it run from
WB it opens its own window (a feature of Aztec 3.4a). A icon for the
nessesary entries is included.
Usage : FastDisk [FROM] drive [TO] drive [FASTDIR] [NOFORMAT]
Defaults: FastDisk FROM df0: to df1:
From and To are not nessesary to include, only if you want to reverse the
program. (I.e. from df1 to df0)
If you add Fastdir, FastDisk will work so you get Fast Directories.
With the NOFORMAT command it won't format the Destination disk, and also
accelerates the copying process, but has the disadvantage if you ever have
to use Diskdoctor, there could be conflicts with older files already on the
disk. In that case DiskDoctor sometimes even deletes the working files.
Usage from Workbench:
THese options are available from the ToolTypeicon by using the INFO
command from workbench.
The Tolltypes are:
WINDOW = This is the definition of the window that is opened when
running the file, and shouldn't be changed
FROM = This is the scource drive (df0:-df3:)
TO = This is the destination drive (df0:-df3:)
FASTDIR = On sets it to on, off or anything else shuts it off
NOFORMAT = Here should be on or off
Defaults : From = df0:
To = df1:
Fastdir = OFF
NOFORMAT = OFF